常问问题

对于某个具体的PID控制项目,是否可能事先得知比较合适的参数?有没有相关的经验数据?

虽然有理论上计算PID参数的方法,但由于闭环调节的影响因素很多而不能全部在数学上精确地描述,计算出的数值往往没有什么实际意义。因此,除了实际调试获得参数外,没有什么可用的经验参数值存在。甚至对于两套看似一样的系统,都可能通过实际调试得到完全不同的参数值。

PID控制不稳定怎么办?如何调试PID?

闭环系统的调试,首先应当做开环测试。所谓开环,就是在PID调节器不投入工作的时候,观察:

可以试着给出一些比较保守的PID参数,比如放大倍数(增益)不要太大,可以小于1,积分时间不要太短,以免引起振荡。在这个基础上,可以直接投入运行观察反馈的波形变化。给出一个阶跃给定,观察系统的响应是最好的方法。

如果反馈达到给定值之后,历经多次振荡才能稳定或者根本不稳定,应该考虑是否增益过大、积分时间过短;如果反馈迟迟不能跟随给定,上升速度很慢,应该考虑是否增益过小、积分时间过长……

总之,PID参数的调试是一个综合的、互相影响的过程,实际调试过程中的多次尝试是非常重要的步骤,也是必须的。

S7-200的新一代产品提供了自整定的PID细调功能。

没有采用积分控制时,为何反馈达不到给定?

这是必然的。因为积分控制的作用在于消除纯比例调节系统固有的“静差”。没有积分控制的比例控制系统中,没有偏差就没有输出量,没有输出就不能维持反馈值与给定值相等。所以永远不能做到没有偏差。

如何实现PID反作用调节?

参见PID向导中的常问问题

S7-200控制变频器,在变频器也有PID控制功能时,应当使用谁的PID功能?

可以根据具体情况使用。一般来说,如果需要控制的变量直接与变频器直接有关,比如变频水泵控制水压等,可以优先考虑使用变频器的PID功能。

《S7-200系统手册》上的附录H.14“用S7-200实现PID控制”的例子,是否可以直接使用?

《S7-200系统手册》中的附录H在英文原版中并不存在。

H.14的PID例子是在第一代产品还不支持PID运算指令时的产物。现在用户可以使用PID指令块,或者PID Wizard(PID向导)编辑PID控制程序。

这个例子可供有兴趣的人学习编程,或者供失眠者消遣。

做完PID向导后,如何知道向导中设定值,过程值及PID等参数所用的地址?


图12. PID数据块

做完PID向导后,如何在调试中修改PID参数?

可以在Status Chart(状态表)中, 输入相应的参数地址,然后在线写入用户需要的PID参数数值,这样用户就可根据工艺需要随时对PID参数、设定值等进行调整。

PID已经调整合适,如何正式确定参数?

可以在Data Block(数据块)中直接写入参数。

做完PID向导后,能否查看PID生成的子程序,中断程序?

PID向导生成的子程序,中断程序用户是无法看到的,也不能对其进行修改。没有密码能够打开这些子程序,一般的应用也没有必要打开查看。

PID参数有经验值吗?

每一个项目的PID 参数都不一样,没有经验参数,只能现场调试获得。

我的PID向导生成的程序为何不执行?

如何实现PID反作用调节?

在有些控制中需要PID反作用调节。例如:在夏天控制空调制冷时,若反馈温度(过程值)低于设定温度,需要关阀,减小输出控制(减少冷水流量等),这就是PID反作用调节(在PID正作用中若过程值小于设定值,则需要增大输出控制)。

若想实现PID反作用调节,需要把PID回路的增益设为负数。对于增益为0的积分或微分控制来说,如果指定积分时间、微分时间为负值,则是反作用回路。

如何根据工艺要求有选择地投入PID功能?

可使用“手动/自动”切换的功能。PID向导生成的PID功能块只能使用SM0.0的条件调用。